//初始化医院管理列表分页请求参数类型
export interface hosListParamsType {
  hoscode?: string;
  hosname?: string;
  hostype?: string;
  provinceCode?: string;
  cityCode?: string;
  districtCode?: string;
  status?: 0 | 1;
}

//医院列表返回值中BookingRule的类型
export interface hosListReturnSomeOfBookingRuleType {
  cycle: number;
  releaseTime: string;
  stopTime: string;
  quitDay: number;
  quitTime: string;
  rule: string[];
}

//初始化医院列表返回值content类型
export interface hosListReturnItemType {
  id: string;
  createTime: string;
  updateTime: string;
  isDeleted: 0 | 1;
  param: {
    hostypeString: string;
    fullAddress: string;
  };
  hoscode: string;
  hosname: string;
  hostype: string;
  provinceCode: string;
  cityCode: string;
  districtCode: string;
  address: string;
  logoData: string;
  intro: string;
  route: string;
  status: 0 | 1;
  bookingRule: hosListReturnSomeOfBookingRuleType | null;
}
export type hosListReturnContentType = hosListReturnItemType[];

//初始化医院管理列表分页请求返回值类型
export interface hospitalListReturnType {
  content: hosListReturnContentType;
  pageable: {
    sort: {
      sorted: boolean;
      unsorted: boolean;
      empty: boolean;
    };
    pageNumber: number;
    pageSize: number;
    offset: number;
    paged: boolean;
    unpaged: boolean;
  };
  totalElements: number;
  totalPages: number;
  last: boolean;
  first: boolean;
  sort: {
    sorted: boolean;
    unsorted: boolean;
    empty: boolean;
  };
  numberOfElements: number;
  size: number;
  number: number;
  empty: boolean;
}

//2.请求省份返回值类型

export interface getProvinceItemType {
  createTime: string;
  dictCode: string;
  hasChildren: boolean;
  id: number;
  isDeleted: number;
  name: string;
  param: object;
  parentId: number;
  updateTime: string;
  value: string;
}

export type getProvinceReturnType = getProvinceItemType[];

//3.医院详情信息返回值类型
export interface getHosListDetailReturnType {
  bookingRule?: hosListReturnSomeOfBookingRuleType;
  hospital?: hosListReturnItemType;
}

//4.医院排班科室列表类型
export type hosScheduleDepartmentType = hosScheduleDepartmentItemType[];

//医院科室列表每一项类型
export interface hosScheduleDepartmentItemType {
  depcode: string;
  depname: string;
  children: hosScheduleDepartmentType | null;
}

//医院排班规则参数类型
export interface hosScheduleRuleParamsType {
  page: number;
  limit: number;
  hoscode: string;
  depcode: string;
}
//5.医院排版规则返回值类型
export interface hosScheduleItemType {
  workDate: string;
  workDateMd: null;
  dayOfWeek: string;
  docCount: number;
  reservedNumber: number;
  availableNumber: number;
  status: null;
}
export type BookingScheduleListType = hosScheduleItemType[];

export interface hosScheduleRuleReturnType {
  total: number;
  bookingScheduleList: BookingScheduleListType;
  baseMap: {
    hosname: string;
  };
}

//6.根据日期获取详情请求的参数类型
export interface hosScheduleWorkDateParamsType{
    hoscode:string,
    depcode:string,
    workDate:string
}
//根据日期获取详情请求的返回值类型
export interface hosScheduleWorkDateItemType {
  id: string;
  createTime: string;
  updateTime: string;
  isDeleted: number;
  param: {
    dayOfWeek: string;
    depname: string;
    hosname: string;
  };
  hoscode:string;
  depcode: string;
  title: string;
  docname: string;
  skill: string;
  workDate: string;
  workTime: number;
  reservedNumber: number;
  availableNumber: number;
  amount: number;
  status: number;
  hosScheduleId: string;
}
export type hosScheduleWorkDateRetrunType=hosScheduleWorkDateItemType[]
